package com.xframe.domain.e3sp.basedata;

import com.xframe.domain.BaseModel;
import com.xframe.xdal.core.annotation.*;
import lombok.Data;
import lombok.experimental.Accessors;

import java.math.BigDecimal;


/**
 * @Description: 备件清单
 * @ClassName: com.xframe.domain.e3sp.maindata.SparePart
 * @Author: xufeng
 * @CreateTime: 2024/1/10
 **/
@Data
@Accessors(chain=true)
@XTable(value = "p_t02_spare_parts", label = "备件清单")
public class SparePart extends BaseModel {
    /**
     * 备件清单ID
     */
    @XColumn(name = "spare_part_id", primaryKeyFlag = true,desc = "备件清单ID")
    private Long sparePartId;

    /**
     * 备件编码
     */
    @XQueryCondition
    @XGridTableRef
    @XColumn(name = "spare_part_no",uniqueFlag = true,desc = "备件编码",length = 100)
    private String sparePartNo;
    /**
     * 零件清单ID
     */
    @XColumn(name = "part_id",desc = "零件清单ID")
    private Long partId;

    /**
     * 供应商编码
     */
    @XQueryCondition
    @XGridTableRef
    @XColumn(desc = "供应商编码",length = 20)
    private String supplierCode;

    /**
     * 供应商编码
     */
    @XColumn(desc = "合同供应商编码",length = 200,nullFlag = true)
    private String conSupplierCode;


    /**
     * 备件级别ID
     */
    @XColumn(name = "partlevel_id",desc = "备件级别ID",nullFlag = true)
    private Long partlevelId;

    /**
     * 中文名称
     */
    @XQueryCondition
    @XGridTableRef
    @XColumn(desc = "中文名称",length = 200,nullFlag = true)
    private String nameCn;

    /**
     * 英文名称
     */
    @XGridTableRef
    @XColumn(desc = "英文名称",length = 200,nullFlag = true)
    private String nameEn;

    /**
     * 外来零件号
     */
    @XColumn(desc = "外来零件号",length = 200,nullFlag = true)
    private String extPartNo;

    /**
     * 设计件号
     */
    @XColumn(name = "design_part_no",desc = "设计件号",length = 50,nullFlag = true)
    private String designPartNo;

    /**
     * 供方件号
     */
    @XColumn(name = "s_part_no",desc = "供方件号",length = 50,nullFlag = true)
    private String sPartNo;

    /**
     * 原件号
     */
    @XColumn(name = "original_number",desc = "原件号",length = 50,nullFlag = true)
    private String originalNumber;


    /**
     * 发文号
     */
    @XColumn(name = "doc_number",desc = "发文号",length = 50,nullFlag = true)
    private String docNumber;


    /**
     * 限制
     */
    @XColumn(name = "limitation",desc = "限制",length = 50,nullFlag = true)
    private String limitation;


    /**
     * 库存开关 1 = 开 0 = 关闭
     */
    @AutoFill(defVal = "0")
    @XQueryCondition
    @XColumn(name = "inv_seitch",desc = "库存开关",length = 10)
    private String invSwitch;

    /**
     * 采购开关 1 = 开 0 = 关闭
     */
    @AutoFill(defVal = "0")
    @XQueryCondition
    @XColumn(name = "procure_switch",desc = "采购开关",length = 10)
    private String procureSwitch;

    /**
     * 销售开关 1 = 开 0 = 关闭
     */
    @AutoFill(defVal = "0")
    @XQueryCondition
    @XColumn(name = "sales_switch",desc = "销售开关",length = 10)
    private String salesSwitch;
    /**
     * 技术依据
     */
    @XColumn(name = "technical",desc = "技术依据",length = 200,nullFlag = true)
    private String technical;

    /**
     * 零件备注
     */
    @XColumn(name = "part_remark",desc = "零件备注",length = 200,nullFlag = true)
    private String partRemark;

    /**
     * 技术摘要
     */
    @XColumn(name = "technical_summary",desc = "技术摘要",length = 200,nullFlag = true)
    private String technicalSummary;

    /**
     * 投产年月
     */
    @XColumn(name = "product_time",desc = "投产年月",length = 20,nullFlag = true)
    private String productTime;

    /**
     * 停产年月
     */
    @XColumn(name = "stop_product_time",desc = "停产年月",length = 20,nullFlag = true)
    private String stopProductTime;

    /**
     * FAST标记
     */
    @XColumn(name = "fast_flah",desc = "FAST标记",length = 10,nullFlag = true)
    private String fastFlag;

    /**
     * 提示
     */
    @XColumn(name = "tip",desc = "提示",length = 200,nullFlag = true)
    private String tip;

    /**
     * 插图号
     */
    @XColumn(name = "image_no",desc = "插图号",length = 200,nullFlag = true)
    private String imageNo;

    /**
     * 加工前零件号
     */
    @XColumn(name = "before_proc_no",desc = "加工前零件号",length = 50,nullFlag = true)
    private String beforeProcNo;



    /**
     * 长
     */
    @XColumn(name = "length",desc = "长",length = 50,nullFlag = true)
    private String length;

    /**
     * 宽
     */
    @XColumn(name = "width",desc = "宽",length = 50,nullFlag = true)
    private String width;


    /**
     * 高
     */
    @XColumn(name = "height",desc = "高",length = 50,nullFlag = true)
    private String height;


    /**
     * 净重
     */
    @XColumn(name = "weight",desc = "净重",length = 50,nullFlag = true)
    private String weight;

    /**
     * 备注
     */
    @XColumn(name = "remark",desc = "备注",length = 50,nullFlag = true)
    private String remark;

    /**
     * 外部备件号
     */
    @XQueryCondition
    @XColumn(name = "ext_spare_part_no",desc = "外部备件号",length = 50,nullFlag = true)
    private String extSparePartNo;

    /**
     * SNP
     */
    @XColumn(name = "snp",desc = "SNP",length = 20,nullFlag = true)
    private String snp;


    /**
     * 特殊订单标记
     */
    @XQueryCondition
    @XColumn(name = "special_flag",desc = "特殊订单标记",length = 10,nullFlag = true)
    private String specialFlag;


    /**
     * DFPV-采购状态
     */
    @XColumn(name = "dfpv_procure_status",desc = "DFPV-采购状态",length = 10,nullFlag = true)
    private String dfpvProcureStatus;

    /**
     * DFPV-库存状态
     */
    @XColumn(name = "dfpv_Inventory_status",desc = "DFPV-库存状态",length = 10,nullFlag = true)
    private String dfpvInventoryStatus;


    /**
     * DFPV-标准价(未税)
     */
    @AutoFill(defVal = "0")
    @XColumn(name = "dfpv_stand_price",desc = "DFPV-标准价(未税)")
    private BigDecimal dfpvStandPrice;

    /**
     * DFPV-合同价(未税)
     */
    @AutoFill(defVal = "0")
    @XColumn(name = "dfpv_contract_price",desc = "DFPV-合同价(未税)")
    private BigDecimal dfpvContractPrice;

    /**
     * DFPV是否直供 1 = 是 0 = 否
     */
    @AutoFill(defVal = "0")
    @XColumn(name = "dfpv_directly_flag",desc = "DFPV是否直供",length = 10)
    private String dfpvDirectlyFlag;
}
